7fb552f4f7df3dbe04ecfa0d5afc62e58822f462,source/com/intellij/psi/impl/source/resolve/reference/impl/providers/JavaClassReference.java,JavaClassReference,processPackage,#PsiPackage#,226
Before Change
}
private Object[] processPackage(final PsiPackage aPackage) {
final PsiPackage[] subPackages = aPackage.getSubPackages();
final PsiClass[] classes = aPackage.getClasses();
final Map<CustomizableReferenceProvider.CustomizationKey, Object> options = getOptions();
if (options != null) {
final ArrayList<Object> list = new ArrayList<Object>(Arrays.asList(subPackages));
final boolean instantiatable = JavaClassReferenceProvider.INSTANTIATABLE.getBooleanValue(options);
final boolean concrete = JavaClassReferenceProvider.CONCRETE.getBooleanValue(options);
final boolean notInterface = JavaClassReferenceProvider.NOT_INTERFACE.getBooleanValue(options);
for (PsiClass clazz: classes) {
if (isClassAccepted(clazz, instantiatable, concrete, notInterface)) {
list.add(clazz);
}
}
return list.toArray();
}
return ArrayUtil.mergeArrays(subPackages, classes, Object.class);
}
private static boolean isClassAccepted(final PsiClass clazz, final boolean instantiatable, final boolean concrete, final boolean notInterface) {
After Change
private Object[] processPackage(final PsiPackage aPackage) {
final ArrayList<Object> list = new ArrayList<Object>();
final int startOffset = StringUtil.isEmpty(aPackage.getName()) ? 0 : aPackage.getName().length() + 1;
for (final PsiPackage subPackage : aPackage.getSubPackages()) {
final String shortName = subPackage.getQualifiedName().substring(startOffset);
if (JavaPsiFacade.getInstance(subPackage.getProject()).getNameHelper().isIdentifier(shortName)) {
list.add(subPackage);